/* -*- Mode:C++; c-basic-offset:4; indent-tabs-mode:t; -*- */
#ifndef _XODEWIN_H_
#define _XODEWIN_H_

#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#include <wx/aui/aui.h>
#endif

//
class XodeWin: public wxFrame
{
public:
    XodeWin();
    virtual ~XodeWin();

    enum {
	ID_MENU_CLASS_VIEW=wxID_HIGHEST + 1,
	ID_MENU_FILES_VIEW,
	ID_MENU_CUSTOMIZED,
    };

public:
    //Interfaces

private:
    //Methods

    //
    void InitialComponents(void);

    //
    void InitialMenuBar(void);

    //Create file menu
    void CreateMenuFile(void);

    //Create help menu
    void CreateMenuHelp(void);

    //Create edit menu
    void CreateMenuEdit(void);

    //Create view menu
    void CreateMenuView(void);

    //Create tools menu
    void CreateMenuTools(void);
private:
    //Attributes

    //Aui manager
    wxAuiManager* m_pManager;

    //Global menu bar
    wxMenuBar* m_pMenuBar;
private:
    //begin the event handlers

    void OnClose(wxCloseEvent& event);

    void OnAbout(wxCommandEvent& event);

    void OnWinClose(wxCommandEvent& event);

    void OnOpenFile(wxCommandEvent& event);

    void OnNewFile(wxCommandEvent& event);

    void OnCloseFile(wxCommandEvent& event);

    void OnCloseAll(wxCommandEvent& event);

    //end the event handlers
    DECLARE_EVENT_TABLE();
};

#endif /* _XODEWIN_H_ */
